import React from 'react';
import { Table } from 'antd';
import './index.less';
const prefixCls = 'role-management';
import all from './img/all.png';
import part from './img/part.png';
function RoleManagement() {
  const imgScreen = name => {
    let isAll = name === 'all';
    return <img src={isAll ? all : part} width={isAll ? 20 : 21} height={isAll ? 20 : 21} />;
  };
  const tableData = [
    {
      title: '角色与功能权限示意图',
      columns: [
        {
          title: '角色\\功能',
          dataIndex: 'key0',
          key: 'key0',
          align: 'center'
        },
        {
          title: '资产管理',
          dataIndex: 'key1',
          key: 'key1',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '任务管理',
          dataIndex: 'key2',
          key: 'key2',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '资产设置',
          dataIndex: 'key3',
          key: 'key3',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '漏洞情报',
          dataIndex: 'key4',
          key: 'key4',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '弱口令',
          dataIndex: 'key5',
          key: 'key5',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '知识库',
          dataIndex: 'key6',
          key: 'key6',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '日志管理',
          dataIndex: 'key7',
          key: 'key7',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },

        {
          title: '组织与用户管理',
          dataIndex: 'key8',
          key: 'key8',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '系统设置',
          dataIndex: 'key9',
          key: 'key9',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '仪表盘',
          dataIndex: 'key10',
          key: 'key10',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '综合分析',
          dataIndex: 'key11',
          key: 'key11',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: 'IP矩阵图',
          dataIndex: 'key12',
          key: 'key12',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '通知管理',
          dataIndex: 'key13',
          key: 'key13',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '账号设置',
          dataIndex: 'key14',
          key: 'key14',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '产品信息',
          dataIndex: 'key15',
          key: 'key15',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '升级历史',
          dataIndex: 'key16',
          key: 'key16',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: 'API文档',
          dataIndex: 'key17',
          key: 'key17',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        },
        {
          title: '平台联动',
          dataIndex: 'key18',
          key: 'key18',
          align: 'center',
          render: _ => (_ ? imgScreen(_) : null)
        }
      ],
      data: [
        {
          key0: '系统管理员',
          key7: 'all',
          key8: 'all',
          key9: 'all',
          key13: 'all',
          key14: 'all',
          key15: 'all',
          key16: 'all'
        },
        {
          key0: '安全管理员',
          key1: 'all',
          key2: 'all',
          key3: 'all',
          key4: 'all',
          key5: 'all',
          key6: 'all',
          key8: 'all',
          key10: 'all',
          key11: 'all',
          key12: 'all',
          key13: 'all',
          key14: 'all',
          key15: 'part',
          key16: 'all',
          key17: 'all',
          key18: 'all'
        },
        // Q1版本暂时取消安全操作员
        // {
        //   key0: '安全操作员',
        //   key1: 'all',
        //   key2: 'all',
        //   key4: 'all',
        //   key5: 'all',
        //   key6: 'all',
        //   key13: 'all',
        //   key14: 'all',
        //   key15: 'part',
        //   key16: 'all'
        // },
        { key0: '审计员', key7: 'part', key14: 'all', key15: 'part', key16: 'all' }
      ]
    },
    {
      title: '角色说明',
      columns: [
        {
          title: '角色',
          dataIndex: 'key0',
          key: 'key0'
        },
        {
          title: '角色说明',
          dataIndex: 'key1',
          key: 'key1'
        }
      ],
      data: [
        {
          key0: '系统管理员',
          key1:
            '拥有对系统的管理权限，可进行系统设置、组织与用户管理、授权证书导入、可查看产品信息，进行本人账号设置，但不能查看或扫描任何资产。'
        },
        {
          key0: '安全管理员',
          key1:
            '拥有对系统全部资产、任务的管理权限，能够对资产进行设置管理，能够查看针对资产及漏洞的数据统计分析，可查看产品信息，进行本人账号设置。'
        },
        // {
        //   key0: '安全操作员',
        //   key1: '拥有对本用户下资产、任务的管理权限，可查看产品信息、进行本人账号设置。'
        // },
        {
          key0: '审计员',
          key1:
            '拥有访问日志管理页面以进行第三方审计的权限。可查看产品相关信息，进行本人账号设置，但不能查看或扫描任何资产。'
        }
      ]
    },
    {
      title: '功能权限说明',
      columns: [
        {
          title: '功能',
          dataIndex: 'key0',
          key: 'key0',
          width: 190
        },
        {
          title: '权限说明',
          dataIndex: 'key1',
          key: 'key1',
          render: list => (
            <>
              {list.map(item => (
                <p key={item}>
                  {item.name ? `${item.name}:` : null}
                  {item.content}
                </p>
              ))}
            </>
          )
        }
      ],
      data: [
        {
          key0: '资产管理',
          key1: [
            {
              name: '',
              content: '具备对所有用户全部资产的查看和操作权限'
            }
            // {
            //   name: '安全操作员',
            //   content: '具备对本用户下的资产的查看和操作权限'
            // }
          ]
        },
        {
          key0: '任务管理',
          key1: [
            {
              name: '',
              content:
                '具备根据全部扫描模板下发扫描任务权限，具备对所有用户创建的任务及详情的查看和操作权限'
            }
            // {
            //   name: '安全操作员',
            //   content:
            //     '具备根据全部扫描模板下发扫描任务权限，具备对本用户创建的任务及详情的查看和操作权限'
            // }
          ]
        },
        {
          key0: '漏洞情报',
          key1: [
            {
              name: '',
              content: '具备对全部漏洞的查看操作权限，且情报可关联系统用户的全部资产'
            }
            // {
            //   name: '安全操作员',
            //   content: '具备对全部漏洞的查看操作权限，且情报可关联本用户有权限管理的全部资产'
            // }
          ]
        },
        {
          key0: '资产设置',
          key1: [
            {
              content: '具备对交换机、资产分类、公网资产、关键监控等的查看和操作权限。'
            }
          ]
        },
        {
          key0: '弱口令',
          key1: [
            {
              name: '',
              content: '具备对全部弱口令的查看操作权限，且弱口令可关联系统用户的全部资产'
            }
            // {
            //   name: '安全操作员',
            //   content: '具备对全部弱口令的查看操作权限，且弱口令可关联本用户有权限管理的全部资产'
            // }
          ]
        },
        {
          key0: '知识库',
          key1: [
            {
              content: '具备查看系统中资产识别表的权限'
            }
          ]
        },
        {
          key0: '综合分析',
          key1: [
            {
              content: '具备对系统所有资产及漏洞综合情况分析数据的查看和操作权限'
            }
          ]
        },
        {
          key0: '仪表盘',
          key1: [
            {
              content: '具备对系统所有资产仪表盘页面统计数据的查看和操作权限'
            }
          ]
        },
        {
          key0: 'IP矩阵图',
          key1: [
            {
              content: '具备对系统所有IPv4资产的IP矩阵图汇总展示数据的查看和操作权限'
            }
          ]
        },
        {
          key0: '组织和用户管理',
          key1: [
            {
              content: '具备新建、编辑或删除系统内任意用户(除了系统默认用户)的权限'
            }
          ]
        },
        {
          key0: '平台联动',
          key1: [
            {
              content: '具备适配器管理,Syslog配置,查看API文档的权限'
            }
          ]
        },

        {
          key0: '系统设置',
          key1: [
            {
              content:
                '具备对邮箱、网络、节点、升级方式编辑的权限，具备进行系统升级和开启远程协助的权限。'
            }
          ]
        },
        {
          key0: '日志管理',
          key1: [
            {
              name: '系统管理员',
              content: '具备所有用户的登录日志和操作日志查看及导出及删除日志的权限。'
            },
            {
              name: '审计员',
              content: '具备所有用户的登录日志和操作日志查看及导出权限，不可删除日志。'
            }
          ]
        },
        {
          key0: '通知管理',
          key1: [
            {
              content: '具备对是否接收通知的设置权限'
            }
          ]
        },
        {
          key0: '账号设置',
          key1: [
            {
              content: '具备对用户姓名、邮箱、手机号、密码进行修改设置的权限。'
            }
          ]
        },
        {
          key0: '产品信息',
          key1: [
            {
              name: '系统管理员',
              content: '具备查看产品基础信息,导入授权证书的权限。'
            },
            {
              name: '安全管理员、审计员',
              content: '具备查看产品基础信息的权限。'
            }
          ]
        },
        {
          key0: '升级历史',
          key1: [
            {
              content: '具备查看产品历史升级版本及变更信息的权限。'
            }
          ]
        },
        {
          key0: 'API文档',
          key1: [
            {
              content: '具备API文档的查询权限'
            }
          ]
        }
      ]
    }
  ];

  return (
    <div className={`${prefixCls}`}>
      {tableData.map(r => {
        return (
          <>
            <div className={`${prefixCls}-title`}>{r.title}</div>
            <Table columns={r.columns} dataSource={r.data} pagination={false} />
          </>
        );
      })}
    </div>
  );
}
export default RoleManagement;
